The standard CSV format is primarily used for exporting and importing complete workspaces. As such, it must be capable of encapsulating all of the information in the workspace. A portion of an example export file follows.
Kronodoc 4.0.9, CSV Structure File, Encoding: utf-8, $Revision: 1.35 $ BEGIN file,Id,Parent-id,Name,Path,Suffixes,Sizes,Created,Modified,Accessed doc,Id,Parent,Parent-documents,Document-name,Document-code,… … user,Id,Username,First-name,Last-name,Deleted,Email,Institute,Roles,Default-group meta,Project-code,Project-name,Description,Icon-URL,Home-URL,Status,Policy,Administrator,… arraysep,___ globsep, END user,6320011480317310522229382704882220867,kronodoc,Kronodoc,System,0,,,, meta,N/A,Test project,,,,110,strict,6320011480317310522229382704882220867,…
In this example, one object is defined per line. The cells in each line can be separated with commas (,) or semicolons (;). The import functionality will automatically detect which separator to use based on the contents of the first header line.
The file is divided into a header section and a data section. As shown in the preceding example, the header section begins with Kronodoc <version>. The import functionality may behave differently depending on the version information in this line. The contents of the data section are formatted based on the rest of the header section:
When importing the data, the order of the lines is extremely important. When an item if referred to (for example, the Administrator cell in project properties contains a user ID), the import functionality expects that the item (the user with the specific ID, in this case) has been defined prior to the current line. In general, this is the way the file is outputted when a workspace is exported.